require 'minitest/autorun'
require 'minitest/hooks/test'

require './aio_init'

class TestCmdModuleLoad < Minitest::Test
  include Minitest::Hooks

  def before_all
    AioInit.new
  end

  def test_input_style
    assert Aio::Module::InputStyle::XinhuaNat.new

    assert Aio::Module::InputStyle::XinhuaNat.new

  end 

  def test_output_style
    assert Aio::Module::OutputStyle::SummaryReport.new

    assert Aio::Module::OutputStyle::CompareReport.new
    assert Aio::Module::OutputStyle::CompareDiff.new
  end

  def test_description
    assert Aio::Module::Description::CRC.new

    assert Aio::Module::Description::ProcRatio.new
  end
  
  def test_cmd_cisco

    assert Aio::Module::Cmd::Cisco::ShowVersion.new

    assert Aio::Module::Cmd::Cisco::ShowVersion.new

    assert Aio::Module::Cmd::Cisco::ShowEnv.new

    assert Aio::Module::Cmd::Cisco::ShowCPU.new

    assert Aio::Module::Cmd::Cisco::ShowInv.new
  end

  def test_cmd_h3c
    assert Aio::Module::Cmd::H3C::DisplayVersion.new

    assert Aio::Module::Cmd::H3C::DisplayInterface.new

    assert Aio::Module::Cmd::H3C::DisplayPower.new

    assert Aio::Module::Cmd::H3C::DisplayIpRoutingStat.new

    assert Aio::Module::Cmd::H3C::DisplayIpRouting.new
  end

  def test_cmd_maipu
    assert Aio::Module::Cmd::Maipu::ShowCpu.new
    
    assert Aio::Module::Cmd::Maipu::ShowIpInterfaceBrief.new
  end
end

